package com.wms.data.dao.impl;

import java.util.List;

import org.springframework.stereotype.Repository;

import com.wms.data.dao.SystemUserDao;
import com.wms.data.pojo.SystemUser;

// ~ File Information
// ====================================================================================================================

@Repository
public class SystemUserDaoImpl extends AbstractWMSDao<SystemUser> implements SystemUserDao {

	// ~ Static Fields
	// ==================================================================================================================

	// ~ Fields
	// ==================================================================================================================

	// ~ Constructors
	// ==================================================================================================================

	// ~ Methods
	// ==================================================================================================================

	/**
	 * 据用户名，密码查找用户.
	 * 
	 * @see com.wms.data.dao.SystemUserDao#findByUserNameAndPwd(java.lang.String,
	 *      java.lang.String)
	 */
	@Override
	public SystemUser findByUserNameAndPwd(String userName, String userPassword) {

		/*
		 * String sql =
		 * "SELECT * FROM system_user WHERE user_name = :userName AND user_password = :password"
		 * ;
		 * 
		 * Map<String, String> param = new HashMap<String, String>();
		 * 
		 * param.put("userName", userName); param.put("password", password);
		 * 
		 * List<SystemUser> lstSystemUser =
		 * this.getSimpleJdbcTemplate().query(sql,
		 * this.generateParameterizedRowMapper(), param);
		 */

		SystemUser user = new SystemUser();
		user.setUserName(userName);
		user.setUserPassword(userPassword);

		List<SystemUser> lstSystemUser = this.findByPojoFields(user);

		if (lstSystemUser != null && lstSystemUser.size() > 0) {

			return lstSystemUser.get(0);
		} else {

			return null;
		}
	}

	@Override
	protected String getActualTableName() {

		return "system_user";
	}

	@Override
	protected String[] getActualTableColumns() {

		return new String[] { "user_name", "user_password", "chinese_name",
				"role_id", "unsuccessful_attempt_num", "email_addr",
				"last_password_update_date", "last_login_date",
				"last_login_ip", "last_login_ip_addr", "status", "remarks",
				"create_date", "create_by", "update_date", "update_by" };
	}	
}